//package com.zzyl.redis;
//
//import org.junit.jupiter.api.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.data.redis.connection.DataType;
//import org.springframework.data.redis.core.RedisTemplate;
//
//import java.util.List;
//import java.util.Set;
//import java.util.concurrent.TimeUnit;
//
//@SpringBootTest
//public class RedisTest3 {
//    @Autowired
//    private RedisTemplate<String,String> redisTemplate;
//
//    //字符集操作
//    @Test
//    public void testString(){
//        redisTemplate.opsForValue().set("age","12");
//        System.out.println(redisTemplate.opsForValue().get("age"));
//
//        redisTemplate.opsForValue().setIfAbsent("token","123",2, TimeUnit.MINUTES);
//
//        System.out.println(redisTemplate.opsForValue().setIfAbsent("lock", "123", 2, TimeUnit.MINUTES));
//        System.out.println(redisTemplate.opsForValue().setIfAbsent("lock", "234", 1, TimeUnit.MINUTES));
//    }
//
//    //哈希操作
//    @Test
//    public void testHash(){
//        redisTemplate.opsForHash().put("user","name","zhangsan");
//        redisTemplate.opsForHash().put("user","age","12");
//        System.out.println(redisTemplate.opsForHash().get("user", "name"));
//        Set<Object> user = redisTemplate.opsForHash().keys("user");
//        System.out.println(user);
//        List<Object> user1 = redisTemplate.opsForHash().values("user");
//        System.out.println(user1);
//
//        redisTemplate.opsForHash().delete("user","age");
//    }
//    //集合操作
//    @Test
//    public void testList(){
//        redisTemplate.opsForList().leftPushAll("list","a","b","c","d");
//        System.out.println(redisTemplate.opsForList().range("list", 0, -1));
//        redisTemplate.opsForList().leftPush("list","e");
//        System.out.println(redisTemplate.opsForList().range("list", 0, -1));
//        System.out.println(redisTemplate.opsForList().rightPop("list"));
//        System.out.println(redisTemplate.opsForList().size("list"));
//    }
//
//    //set操作
//    @Test
//    public void testSet(){
//        redisTemplate.opsForSet().add("city","wuhang","shanghai","beijin","nanjin");
//        redisTemplate.opsForSet().add("city1","wuhang","shanghai","guangxi","xian");
//        Set<String> city = redisTemplate.opsForSet().members("city");
//        System.out.println(city);
//        Long size = redisTemplate.opsForSet().size("city1");
//        System.out.println(size);
//        Set<String> intersect = redisTemplate.opsForSet().intersect("city", "city1");
//        System.out.println(intersect);
//        Set<String> union = redisTemplate.opsForSet().union("city", "city1");
//        System.out.println(union);
//    }
//
//    //有序集合操作
//    @Test
//    public void testZset(){
//        redisTemplate.opsForZSet().add("class","177",8);
//        redisTemplate.opsForZSet().add("class","176",5);
//        redisTemplate.opsForZSet().add("class","175",9);
//        redisTemplate.opsForZSet().add("class","174",7);
//        Set<String> aClass = redisTemplate.opsForZSet().range("class", 0, -1);
//        System.out.println(aClass);
//    }
//
//    //通用操作
//    @Test
//    public void testCommon(){
//        Set<String> keys = redisTemplate.keys("*");
//        System.out.println(keys);
//        Boolean username = redisTemplate.hasKey("username");
//        System.out.println(username);
//        DataType list = redisTemplate.type("list");
//        System.out.println(list);
//        DataType city = redisTemplate.type("city");
//        System.out.println(city);
//        redisTemplate.delete("city1");
//    }
//}
